home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Just Call Me Internet
/
Just Call Me Internet.iso
/
prog
/
atari
/
c
/
stngpasm
/
stngpasm.doc
< prev
Wrap
Text File
|
1997-08-19
|
8KB
|
177 lines
;----------------------------------------------------------------------------
;File name: STNGPASM.DOC Revision date: 1997.08.19
;Creator: Ulf Ronald Andersson Creation date: 1997.08.01
;(c)1997 by: Ulf Ronald Andersson All rights reserved
;Feedback to: dlanor@oden.se Released as FREEWARE
;----------------------------------------------------------------------------
;--- !!! --- Please read the full text below at least once. --- !!! ---
;This will help you avoid some simple but otherwise inescapable problems.
;----------------------------------------------------------------------------
STNGPASM Introduction:
----------------------
STNGPASM is a development package for STinG (ST internet new Generation),
the TCP/IP stack created by Peter Rottengatter as a replacement for STiK.
This package will allow programmers to use PASM, the Pure_C assembler for
creating STinG modules, clients, and servers in pure assembly language,
but with almost the same ease as when writing in a high level language.
This is accomplished by extensive use of macros, defining not only short
forms for system calls (as is the custom), but also for creating new data
structures and assembly-time control structures of various kinds.
Most of this can be transparent to a user of the macro libraries, that is:
he/she does not have to bother knowing about it even..., but when a need
arises for these features they are ready and waiting.
Naturally these libraries will be updated as new needs and ideas come up.
;----------------------------------------------------------------------------
Package manifest:
-----------------
NB: This manifest looks horrible unless your TAB spacing is 8 characters.
STNGPASM\ The main folder represents the root directory where
you have your PURE_C\ folder.
PURE_C\ The stuff in this folder should be copied to your
own PURE_C\ folder, and a subfolder
INCLUDE\ The stuff in this folder should be copied to the
INCLUDE\ folder in your own PURE_C\ folder
STING\ This folder contains C-header (.H), PASM-header (.SH)
and PASM-code (.S) files specific for STinG development
DOMAIN.SH Defines macros useful to manipulate domain
names (can be used for other strings too)
LAYER.SH PASM version of LAYER.H, defines important
structures and macros of STX module programs
NET_TCON.SH Defines macros and structures to handle network
time conversions (+ timezone & daylight saving)
TRANSPORT.SH PASM version of TRANSPRT.H, defines important
structures and macros of client/server programs
PORT.SH PASM version of PORT.H, defines structures and
constants for port STX modules
_SKELTON.SH Template for future .SH files
URAN\ This folder contains PASM-header (.SH) and PASM-code
(.S) files for general high level programming needs.
PATH_LIB.S Subroutines to manipulate file paths
URAN_ARG.S ARGV handler code
STRUCT.SH Macros for C-like structure declarations
URAN_APP.SH General all purpose application header macro
URAN_AV.SH Macros for full AV protocol (and MP protocol)
URAN_BPP.SH Macro for active basepage pointer access
URAN_DOS.SH Macros for GEMDOS, BIOS and XBIOS
URAN_ENV.SH Macros for manipulating environment strings
URAN_GEM.SH Macros for GEM AES and VDI
URAN_JAR.SH Macros for cookie jar manipulation
URAN_LA.SH Macros for Line-A variable access (still valid)
URAN_SIM.SH Simulates a few GEM functions for TOS/TTP
URAN_SYS.SH Assemblytime control macros and constants
URAN_XB.SH XBRA protocol for vector bending
_SKELTON.SH Template for future .SH files
WORK\ This folder is intended for temporary storage of a
project when assembling without PC_SHELL
STINGDEV.S\ This is the main project folder, holding subfolders
for each project or collection of related projects.
TIME\ This is a collection folder for projects dealing with
time servers and clients. They are not included
here, but can be downloaded separately (TIME.LZH).
SKEL_APP.S Template for future client/server APPs
SKELPORT.S Template for future port STX modules
WORK_ASM.PRJ This is a project file for assembling without PC_SHELL
DEFAULT.PC PC_SHELL likes to find the default file in the root
of the drive used for PURE_C
STNGPASM.DOC This doc should be moved elsewhere. It was put here
only to make sure you would find it easily.
;----------------------------------------------------------------------------
Apologia (mea culpa):
---------------------
As of yet I have not had time to write much documentation for this package,
and since it is quite extensive it will take a long time to complete.
Also, since I still intend this package to grow and develop, there will never
be a time when everything has complete and up to date documentation.
I'm sorry but these are the hard facts. I've written these libs entirely for
my own satisfaction, and though I do intend to document them a bit better, I
am not going to dedicate all my time to it.
Experienced old hands at macro assembly will manage anyhow, studying my example
programs as well as the libs themselves. Those less experienced will just have
to wait for me (or some volunteer) to produce more detailed documents.
;----------------------------------------------------------------------------
Origins of this package:
------------------------
All .H files in this package were created by Peter Rottengatter for STinG.
Three of the .SH files were translated for PASM from Peters .H files by me.
All other files in this package were created by me at one time or another.
A few were created during the development of this package, but most were
translated for PASM from my earlier DEVPAC libraries. As is often the case
this translation caused me to modify and improve many things, so that while
the PASM dialect lacks many powerful features of DEVPAC, the package as a
whole has actually gained strength from the translation side effects.
Some of those DEVPAC libraries were created over six years ago, and this is
the reason why they are still marked so in the copyright fields of headers.
NB: I plan further modifications and improvements, so once you start using a
lib do *not* just throw away old versions when new ones arrive. First
make sure that your own sources can be adapted to the new libs, and then
complete the package update.
;----------------------------------------------------------------------------
Copyright release by Ulf Ronald Andersson:
------------------------------------------
I release all files of my own creation in this package for free use and also
for free distribution in the form of the original unbroken release package.
No files may be distributed separately, since this undermines usefulness.
Peter Rottengatter does have the right to rearrange this package to fit in
as well as possible with other STinG related releases, and to release that
altered package to the public. They may however not do so themselves.
And no distribution at all is allowed for which the distributing agent or any
other person or company charges a fee, or increases a fee otherwise charged.
Such distribution is only legally possible by contacting me as well as Peter
Rottengater and get the agreement of both of us to allow such distribution.
The above intention of the words "free use" includes the use of the package
to create new software, which will be entirely the property of its author,
and the rights of which will in no way be affected by the use of this
package in its creation.
;----------------------------------------------------------------------------
;End of file: STNGPASM.DOC
;----------------------------------------------------------------------------